﻿namespace HANOI
{
    internal class Program
    {
        /// <summary>
        /// 汉诺塔游戏，将A塔中的盘以小的在上、大的在下的方法移动到C塔中
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Console.WriteLine("请输入汉诺塔层数：");
            int n=Convert.ToInt32(Console.ReadLine());//将输入的值强制转化
            Hanoi(n, 'A', 'B', 'C');//函数+递归

        }
        static void Hanoi(int n, char A, char B, char C)
        {
            if (n == 1)
                Console.WriteLine($"将第{n}个盘子从{A}移到{C}");//只有一层时，直接从A移到C
            else
            {
                Hanoi(n-1,A,C,B);
                Console.WriteLine($"将第{n}个盘子从{A}移到{C}");//将前n-1层从A移到B
                Hanoi(n-1,B,A,C);//从B移到C
            }

        }
    }
}